package com.ruoyi.system.domain.equipment;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备检测计划对象 equipment_check_plan
 * 
 * @author ruoyi
 * @date 2025-03-17
 */
@Data
public class EquipmentCheckPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;

    /** 设备类别 */
    @Excel(name = "设备类别")
    private String equipmentType;

    /** 位号 */
    @Excel(name = "位号")
    private String equipmentCode;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String equipmentModel;

    /** 设备数量 */
    @Excel(name = "设备数量")
    private Long equipmentNumber;

    /** 安装地点 */
    @Excel(name = "安装地点")
    private String installLocation;

    /** 检查机构 */
    @Excel(name = "检查机构")
    private String checkInstitution;

    /** 检查周期 */
    @Excel(name = "检查周期")
    private Long checkPeriod;

    /** 现场检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "现场检测日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkDate;

    /** 检测报告编号 */
    @Excel(name = "检测报告编号")
    private String checkReportNo;

    /** 下次检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次检测日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextCheckDate;

    /** 下次检测预警日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次检测预警日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextRemindDate;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 更新人 */
    @Excel(name = "更新人")
    private String modifyBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyDate;

    /** 删除标志（0未删除） */
    private String delFlag;

    private String ids;
    private List<String> idAry;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("equipmentName", getEquipmentName())
            .append("equipmentType", getEquipmentType())
            .append("equipmentCode", getEquipmentCode())
            .append("equipmentModel", getEquipmentModel())
            .append("equipmentNumber", getEquipmentNumber())
            .append("installLocation", getInstallLocation())
            .append("checkInstitution", getCheckInstitution())
            .append("checkPeriod", getCheckPeriod())
            .append("checkDate", getCheckDate())
            .append("checkReportNo", getCheckReportNo())
            .append("nextCheckDate", getNextCheckDate())
            .append("nextRemindDate", getNextRemindDate())
            .append("remark", getRemark())
            .append("createdBy", getCreatedBy())
            .append("createdDate", getCreatedDate())
            .append("modifyBy", getModifyBy())
            .append("modifyDate", getModifyDate())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
